package com.nowcoder.Offer.BitOperation;

import org.junit.Test;

/**
 * 一个整型数组里除了两个数字之外，其他的数字都出现了两次。
 */
public class FindNumsAppearOnce {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
        int res = 0;
        int a1 = 0, a2 = 0;
        for(int i: array){
            res ^= i;
        }

        res &= -res;

        for(int i : array){
            if((i & res) == 0)
                a1 ^= i;
            else
                a2 ^= i;
        }

        num1[0] = a1;
        num2[0] = a2;

    }

    @Test
    public void test(){

    }
}
